package tas.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import tas.dao.DaoUsuarios;
import tas.domain.Usuarios;
import tas.java.EncDec;
import tas.sql.ConectaDb;

public class DaoUsuariosImpl implements DaoUsuarios {

    private final ConectaDb db;

    public DaoUsuariosImpl() {
        this.db = new ConectaDb();
    }

    @Override
    public Usuarios autentica(String correo, String password) {
        Usuarios usuarios = null;
        String sql = "SELECT "
                + "idusuario,"
                + "apellidos,"
                + "nombres,"
                + "correo,"
                + "autorizacion, "
                + "idtrabajador "
                + "FROM BDTAS.usuarios "
                + "WHERE (correo = ?)"
                + " AND (password = ?)";

        try {
            Connection cn = this.db.getBdtas();
            EncDec aes = new EncDec();

            PreparedStatement ps = cn.prepareStatement(sql);
            ps.setString(1, correo);
            String psw = aes.encripta(password);
            ps.setString(2, psw);

            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                usuarios = new Usuarios();

                usuarios.setIdusuario(rs.getInt(1));
                usuarios.setApellidos(rs.getString(2));
                usuarios.setNombres(rs.getString(3));
                usuarios.setCorreo(rs.getString(4));
                usuarios.setAutorizacion(rs.getString(5));
                usuarios.setIdtrabajador(rs.getInt(6));
            }

            cn.close();

        } catch (SQLException ex) {
            System.out.println("");
        }

        return usuarios;
    }
}
